glFogf,
glFogi, glFogfv, glFogiv
[New
- Windows 95, OEM Service Release 2]
These
functions specify fog parameters.
void glFogf(
GLenum pname, |
|
GLfloat param |
|
); |
|
void glFogi(
GLenum pname, |
|
GLint param |
|
); |
|
void glFogfv(
GLenum pname, |
|
const GLfloat * params |
|
); |
|
void glFogiv(
GLenum pname, |
|
const GLint * params |
|
); |
|
Parameters
pname
In glFogf
and glFogi, specifies a single-valued fog parameter.
In glFogfv
and glFogiv, specifies a fog parameter.
The glFogf,
glFogi, glFogfv, and glFogiv functions accept the
following values:
GL_FOG_MODE
The params
parameter is a single integer or floating-point value that specifies the
equation to be used to compute the fog blend factor, f. Three symbolic
constants are accepted: GL_LINEAR, GL_EXP, and GL_EXP2. The equations
corresponding to these symbolic constants are defined in the following Remarks
section. The default fog mode is GL_EXP.
GL_FOG_DENSITY
The params
parameter is a single integer or floating-point value that specifies density,
the fog density used in both exponential fog equations. Only nonnegative
densities are accepted. The default fog density is 1.0.
GL_FOG_START
The params
parameter is a single integer or floating-point value that specifies start,
the near distance used in the linear fog equation. The default near distance is
0.0.
GL_FOG_END
The params
parameter is a single integer or floating-point value that specifies end,
the far distance used in the linear fog equation. The default far distance is
1.0.
GL_FOG_INDEX
The params
parameter is a single integer or floating-point value that specifies i (f) , the
fog color index. The default fog index is 0.0.
The glFogfv
and glFogiv functions also accept GL_FOG_COLOR:
GL_FOG_COLOR
The params
parameter contains four integer or floating-point values that specify C (f) , the
fog color. Integer values are mapped linearly such that the most positive
representable value maps to 1.0, and the most negative representable value maps
to -1.0. Floating-point values are
mapped directly. After conversion, all color components are clamped to the
range [0,1]. The default fog color is (0,0,0,0).
param
In glFogf
and glFogi, specifies the value that pname will be set to.
params
In glFogfv
and glFogiv, specifies the value or values to be assigned to pname.
GL_FOG_COLOR requires an array of four values. All other parameters accept an
array containing only a single value.
Remarks
You enable
and disable fog with glEnable
The glFog
function assigns the value or values in params to the fog parameter
specified by pname.
Fog blends a
fog color with each rasterized pixel fragment s posttexturing color using a
blending factor f. Factor f is computed in one of three ways,
depending on the fog mode. Let z be the distance in eye coordinates from
the origin to the fragment being fogged. The equation for GL_LINEAR fog is:
{bml bm20.BMP}
The equation
for GL_EXP fog is:
{bml bm21.BMP}
The equation
for GL_EXP2 fog is:
{bml bm22.BMP}
Regardless of
the fog mode, f is clamped to the range [0,1] after it is computed.
Then, if OpenGL is in RGBA color mode, the fragment s color C (r) is replaced by
{bml bm23.BMP}
In color-index
mode, the fragment s color index i
(r) is replaced by
{bml bm24.BMP}
The following
functions retrieve information related to the glFog functions:
glGet
with argument GL_FOG_COLOR
glGet with
argument GL_FOG_INDEX
glGet with
argument GL_FOG_DENSITY
glGet with
argument GL_FOG_START
glGet with
argument GL_FOG_END
glGet with
argument GL_FOG_MODE
glIsEnabled with argument GL_FOG
Error Codes
The following
are the error codes generated and their conditions.
Error
Code |
Condition |
GL_INVALID_ENUM
|
pname was not an accepted value. |
GL_INVALID_OPERATION
|
glFinish was called between a call to glBegin and the
corresponding call to glEnd. |
See Also
glBegin, glDisable1MZ_ZK.